package com.tebiecloud.act.server.service.impl;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.tebiecloud.act.client.model.entity.ActCollect;
import com.tebiecloud.act.server.mapper.ActCollectMapper;
import com.tebiecloud.act.server.service.ActCollectService;
import com.tebiecloud.common.mybatis.base.service.impl.BaseServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.management.Query;
import java.util.List;

/**
 * 收藏表 服务实现类
 * @author tebie
 * @date 2019-09-15
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class ActCollectServiceImpl extends BaseServiceImpl<ActCollectMapper, ActCollect> implements ActCollectService {

    @Autowired
    ActCollectMapper actCollectMapper;

    @Override
    public void creareOrUpdate(Long userId, Long actId, Integer isCollect) {

        //查询是否有这个收藏
        QueryWrapper<ActCollect> actCollectQueryWrapper = new QueryWrapper<ActCollect>();
        actCollectQueryWrapper.eq("act_id",actId);
        actCollectQueryWrapper.eq("user_id",userId);
        List<ActCollect> actCollectList = actCollectMapper.selectList(actCollectQueryWrapper);
        if(actCollectList!=null && actCollectList.size()>0){
            if(isCollect.equals(0)){
                UpdateWrapper<ActCollect> updateWrapper = new UpdateWrapper<ActCollect>();
                updateWrapper.eq("act_id",actId);
                updateWrapper.eq("user_id",userId);
                actCollectMapper.delete(updateWrapper);
            }
        }else {
            if(isCollect.equals(1)){
                ActCollect actCollect = new ActCollect();
                actCollect.setActId(actId);
                actCollect.setUserId(userId);
                actCollectMapper.insert(actCollect);
            }
        }

    }

}

